'''
下拉菜单操作的常用方式：
(1)在html中是 select + option结构的下拉选择框的时，可以使用Select类中提供的方法来操作页面中的下拉菜单。
(2)但是，不是select的下拉列表处理，只需元素查找方式就可以实现。
一个页面可能有多个属性基本相同的元素，如果要定位到其中的一个，这时候可以使用层级定位或者元素的二次定位。
先定位到父元素，然后再通过父元素定位子孙元素。
'''
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC  # 起个别名
from selenium.webdriver.support.ui import Select
from time import sleep
from options import options
from service import service

dr=webdriver.Chrome(options=options,service=service)
dr.get(r'http://172.16.36.120:8080/bsams/front/login.do')
dr.maximize_window()

id = 1
username = 'test04'
password = '123456'
valicode = 'shtd'

dr.find_element(By.ID, 'taskId').send_keys(id)
dr.find_element(By.ID, 'loginName').send_keys(username)
dr.find_element(By.ID, 'password').send_keys(password)
dr.find_element(By.ID, 'vericode').send_keys(valicode)
dr.find_element(By.XPATH,'//*[@id="fmedit"]/div[2]/div[6]/input').click()
sleep(3)
dr.find_element(By.XPATH,'//*[@id="leftmenu_asset_manage"]/div[1]/a/img').click()
sleep(3)

ele=dr.find_element(By.ID,'status')
# 选择 使用
Select(ele).select_by_value('1')
sleep(3)
# 选择 未使用
Select(ele).select_by_index(2)
sleep(3)
# 选择 全部状态
Select(ele).select_by_visible_text('全部状态')
sleep(3)
dr.quit()

